package com.powernode.controller;

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
import com.powernode.common.Result;
import com.powernode.constants.CoreConstant;
import com.powernode.enums.ResultEnums;
import com.powernode.utils.ServletUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 获取验证码接口
 *
 * 思路
 *使用hutool生成验证码
 *把生成的图片转成base64的字符串
 *把生成的字符串响应给前端
 */
@RestController
public class CaptchaController extends BaseController{
    /**
     * 获取验证码
     */
    @GetMapping("/captcha/getCaptcha")
    public Result getCaptcha(){
        /**
         * 使用hutool生成验证码
         */
        CircleCaptcha captcha = CaptchaUtil.createCircleCaptcha(160, 60, 1, 30);
        System.out.println("captcha = " + captcha.getCode());
        /**
         * 把正确的验证码放到session里面
         */
        ServletUtils.getSession().setAttribute(CoreConstant.CAPTCHA_KEY,captcha);

        /**
         * 把图片转成字符串
         */
        String base64Data = captcha.getImageBase64Data();
        return new Result(ResultEnums.SUCCESS.getCode(),ResultEnums.SUCCESS.getMsg(),base64Data);
    }
}
